In some storage systems, input/output (IO) request processing may have hard time constraints where a storage controller must reply to the IO request within a predetermined period of time. If the predetermined period of time expires before the IO request has been serviced, the storage controller typically sends a busy message to the host device that submitted the IO request.
During a storage system restart, metadata associated with data pages stored by the storage system may be loaded from a plurality of storage devices into a cache as part of a restart process. Often the metadata loading is performed by the storage controller using background processes which simply load the metadata into cache in a predetermined order, sometimes referred to as “Lazy Load”. When an IO request is received during the restart process that requires metadata that has not yet been loaded, the storage controller typically attempts to load the metadata “on demand”, i.e., contemporaneous with receipt of the IO request. However, the time that it takes to load the metadata on demand may exceed the predetermined period of time set by the hard time constraint for the IO request which results in a timeout of the IO request. Typically, on timeout of the IO request, the on demand loading of the metadata is canceled.